#ifndef RESMGR_H
#define RESMGR_H

#include <vector>
using namespace std;

enum TEXTURE_ID
{
	TID_COUNTRY_BACK,
	TID_LOCK,
	TID_FRUIT,
	TID_EXPLODING,
	TID_WIN_BACK,
	TID_GAMEOVER_BACK,
	TID_INTRO_BACK,
	TID_NUMBER,
	TID_MENU_BUTTON,
	TID_MAIN_MENU_BACK,
	TID_BUTTON_IN_GAME,
	TID_OPTION_BACK,
	TID_EFFECT_SPECIAL_DIA,
	TID_HEAD_BACK,
	TID_EMPTY_CELL,
	TID_ISLANDS_BUTTON,
	TID_LEVELS_BUTTON,
	
	SIZE_OF_TEXTURE_ARRAY
};

class Texture;
class ResMgr
{
private:
	static ResMgr* instance;
	ResMgr();
	//vector<Texture*> textures;
	Texture** textures;
	
public:
	static ResMgr* GetInstance();
	void AddTexture(Texture* tex);
	void RemoveTexture(int id);
	Texture* GetTexture(int id);
	~ResMgr();

	void LoadIntro();
	void UnloadIntro();

	void LoadMainMenu();
	void UnloadMainMenu();

	void LoadChooseIslandRes();
	void UnloadChooseIslandRes();

	void LoadChooseLevelRes();
	void UnloadChooseLevelRes();

	void LoadFruitBox();
	void UnloadFruitBox();

	void LoadWin();
	void UnloadWin();

	void LoadGameOver();
	void UnloadGameOver();

	void Destroy();
	void UnloadAllTexture();
};

#endif